﻿using System;

namespace LxCFD
{
    public class TransientDataBase : IInitializable
    {
        public static bool IsSecondOrder;
        public static double Factor_Phi_1stOrder;
        public static double Factor_Phi_2ndOrder;
        public static double Factor_PhiO_2ndOrder;
        public static double Factor_PhiOO_2ndOrder;
        public TransientDataStates TransientDataState = TransientDataStates.None;
        public virtual void Initialize()
        {
            throw new NotImplementedException();
        }
        public bool GetIsInitialized()
        {
            return TransientDataState != TransientDataStates.None;
        }
        public void SetIsInitialized(bool isInitialized)
        {
            if (isInitialized)
            {
                TransientDataState = TransientDataStates.Only_o;
            }
            else
            {
                TransientDataState = TransientDataStates.None;
            }
        }
        public virtual void SaveOldValue(int taskIndex)
        {

        }
        public virtual void PrepareToSave()
        {

        }
        public enum TransientDataStates
        {
            None, Only_o, Both_o_oo
        }
    }
}
//public static bool isImplicit;


//public static double resultTime;//对于显示格式，Result的时间在离散方程的下一个，对于隐式是一样的，ResultTime即为t时间，对于的时间间隔为delta_t
//public static double equationTime;//离散方程对应的时间，在每次调用isContinue时，要准备好下一次计算的equationTime
//public static double dt;
//public static double dto;
//public static double dtoo;
